/**
 * 
 */
package sv.gob.mh.dgii.model;

import java.io.Serializable;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.EmbeddedId;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


/**
 * @author nalopez
 *
 */
@Entity
@Table(name = "ED_DETALLE_ARCHIVOS_DET", schema = "EDADEPUDOC")
public class EdDetalleArchivosDet implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2016075164646992205L;

	private EdDetalleArchivosDetId id;
	private String slinea;
	private Integer slineaPos;
	private EdCtrlArchivosDet edCtrlArchivosDet;
	
	/**
	 * 
	 */
	public EdDetalleArchivosDet() {
	}
	
	public EdDetalleArchivosDet(EdDetalleArchivosDetId id) {
		this.id = id;
	}
	
	public EdDetalleArchivosDet(EdDetalleArchivosDetId id, String slinea,
					Integer slineaPos, EdCtrlArchivosDet edCtrlArchivosDet) {
		this.id = id;
		this.slinea = slinea;
		this.slineaPos = slineaPos;
		this.edCtrlArchivosDet = edCtrlArchivosDet;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "ictrlarchivos", column = @Column(name = "I_CTRLARCHIVOS", nullable = false, length = 12)),
			@AttributeOverride(name = "ncorrLinea", column = @Column(name = "N_CORR_LINEA", nullable = false, length = 12)) })
	public EdDetalleArchivosDetId getId() {
		return id;
	}

	public void setId(EdDetalleArchivosDetId id) {
		this.id = id;
	}

	@Column(name = "S_LINEA", nullable = true, length = 1000)
	public String getSlinea() {
		return slinea;
	}

	public void setSlinea(String slinea) {
		this.slinea = slinea;
	}

	@Column(name = "S_LINEA_POS", precision = 10, scale = 0)
	public Integer getSlineaPos() {
		return slineaPos;
	}

	public void setSlineaPos(Integer slineaPos) {
		this.slineaPos = slineaPos;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "I_CTRLARCHIVOS", unique = false, nullable = false, insertable = false, updatable = false)
	public EdCtrlArchivosDet getEdCtrlArchivosDet() {
		return edCtrlArchivosDet;
	}

	public void setEdCtrlArchivosDet(EdCtrlArchivosDet edCtrlArchivosDet) {
		this.edCtrlArchivosDet = edCtrlArchivosDet;
	}

}
